package com.guli.gulimall.product;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.guli.gulimall.product.dao.CategoryDao;
import com.guli.gulimall.product.entity.CategoryEntity;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * @Author jwcz
 * @Date 2021/12/9 16:05
 * @Version 1.0
 */
@SpringBootTest
@RunWith(SpringRunner.class)
public class ProductDemo {

    @Autowired
    private CategoryDao categoryDao;

    @SuppressWarnings("all")
    @Autowired
    private OSS ossClient;

    @Value("${alibaba.cloud.oss.endpoint}")
    private String endpoint;

    @Value("${alibaba.cloud.access-key}")
    private String accessKeyId;

    @Value("${alibaba.cloud.secret-key}")
    private String accessKeySecret;

    @Value("${alibaba.cloud.oss.bucket}")
    private String bucket;

    @Test
    public void ossTest() {
        try {

            ossClient.putObject(bucket,"bbb.jpg",new FileInputStream("C:\\Users\\jwcz\\Desktop\\Upath\\zw\\11.jpg"));


// 关闭OSSClient。
            System.out.println("上传成功");
        ossClient.shutdown();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    //多的
    @Test
    public void test1() throws IOException {
        try{
            // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1（杭州）为例，Endpoint填写为https://oss-cn-shanghai.aliyuncs.com。
            String endpoint = "https://oss-cn-shanghai.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维，请登录RAM控制台创建RAM用户。
            String accessKeyId = "LTAI5tCftuhjZAHbpZrbTMtF";
            String accessKeySecret = "k9349GWGzpXrGOZhSragMXF0SKXIJQ";
// 创建OSSClient实例。
            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);


// 填写网络流地址。
            InputStream inputStream = new FileInputStream("C:\\Users\\jwcz\\Desktop\\Upath\\zw\\2.jpg");
// 依次填写Bucket名称（例如examplebucket）和Object完整路径（例如exampledir/exampleobject.txt）。Object完整路径中不能包含Bucket名称。
            ossClient.putObject("jwcz-img", "ccc.jpg", inputStream);
            // 关闭OSSClient。
            System.out.println("成功===================");
            ossClient.shutdown();
        }catch (Exception e){
            e.printStackTrace();
        }
    }






//    @Test
//    public void categoryList() {
//        //三级分类树
//        //一级分类
//        //二级分类
//        //三级分类
//        QueryWrapper<CategoryEntity> w1 = new QueryWrapper<>();
//        w1.eq("parent_cid",0);
//        List<CategoryEntity> l1list = categoryDao.selectList(w1);
//
//        //循环嵌套for循环遍历一级二级三级分类
//        for (CategoryEntity l1 : l1list) {
//            QueryWrapper<CategoryEntity> w2 = new QueryWrapper<>();
//            w2.eq("parent_cid",l1.getCatId());
//            List<CategoryEntity> l2list = categoryDao.selectList(w2);
//            l1.setChildren(l2list);
//            for (CategoryEntity l2 : l2list) {
//                List<CategoryEntity> l3list = categoryDao.selectList(new QueryWrapper<CategoryEntity>().eq("parent_cid",l2.getCatId()));
//                l2.setChildren(l3list);
//            }
//        }
//        System.out.println(123);
//    }
}
